home *** CD-ROM | disk | FTP | other *** search
/ Turnbull China Bikeride / Turnbull China Bikeride - Disc 2.iso / STUTTGART / EDITORS / VI / VIM / SOURCE / vim / readme2_0 < prev    next >
Text File  |  1992-08-04  |  25KB  |  663 lines

  1. This is a summary of the modifications from Vim version 1.27 to version 2.0.
  2.  
  3. Incompatible changes
  4. ====================
  5.  
  6. The 'exrc' and 'secure' options are default off. If you want Vim to read a
  7. .exrc or .vimrc in the current directory, you will have to set 'exrc' in your
  8. global .exrc or .vimrc. People doing this are supposed to know about the
  9. security problems, so they don't need the 'secure' option set. This is also
  10. more vi-compatible.
  11.  
  12. Renamed quoting to visual select and swapped 'q' and 'v' keys to avoid
  13. problems with CTRL-Q. This is also more Elvis compatible. The commands now are:
  14.     'v'        start character-wise visual select
  15.     'V'        start line-wise visual select
  16.     CTRL-V        start block-wise visual select
  17.  
  18.     'q'        start recording
  19.     'Q'        formatting operator
  20.  
  21. Changed CTRL-R into CTRL-Y for insert mode (copy character from line above).
  22. This is more logical when comparing the meaning of CTRL-E and CTRL-Y in
  23. command mode and insert mode.
  24.  
  25. Replaced CTRL-B with CTRL-R (insert contents of a register) in insert mode.
  26. This mnemonic is more logical, because "register" is used in the documentation. 
  27.  
  28. Added ":pwd" command and made ":cd" without an argument for Unix go to home
  29. directory. This is more vi-compatible and behaves the same as the unix cd
  30. command. The ":cd" command for MSDOS and Amiga versions is unchanged, these
  31. machines don't have a home directory.
  32.  
  33. With the 'confirm' option to :s anything but 'y', 'n', ESC, CTRL-C or 'q' is
  34. ignored. Nothing happens until you type a valid character. Quit substitution
  35. with <q>, ESC and CTRL-C. 
  36.  
  37. Swapped 'u' and 'U' for visual mode. 'u' makes lower case, 'U' upper. This is
  38. more logical.
  39.  
  40. Added 'wildchar' option for filename completion. The default is <TAB> instead
  41. of <ESC>. Most other programs use this and it avoids problems with terminal
  42. sequences that start with <ESC> (one second wait before filename completion
  43. starts).
  44.  
  45. Changed short name of 'showmode' option from "mo" to "smd".
  46.  
  47. Changed short name of 'modelines' from 'ml' into 'mls'. This is vi-compatible.
  48.  
  49. Changed meaning of the argument to :cf. The 'errorfile' option will now be
  50. set to the argument.
  51.  
  52.  
  53. Major improvements
  54. ==================
  55.  
  56. Added horizontal scrolling and 'wrap' option. This allows the user to choose
  57. between line wrap (you see all the text but long lines mess up the layout)
  58. and horizontal scrolling (correct layout but you see only a part of long
  59. lines).
  60.  
  61. Added 'sidescroll' option. It is the number of columns to jump when the
  62. cursor gets off of the screen while the 'wrap' option is off. The default is
  63. 0, which means that the cursor is centered on the screen. Set it to a small
  64. number if you have fast screen I/O.
  65.  
  66. Wildcard expansion has been made more compatible with other programs. Added
  67. 'wildchar' option; default is <TAB> instead of <ESC>. With multiple matches
  68. first match is inserted. CTRL-A inserts all matches. With CTRL-D command: If
  69. file is a dir '/' is added. WILD_CARDS code now always included, no
  70. compile-time option anymore. 'wildchar' is only recognized when typed, not in
  71. a macro (prevents problems with macros containing TABs).
  72.  
  73. CTRL-L on commandline inserts longest common part of filename completion. Now
  74. you can choose between using TAB (or 'wildchar') for getting the first match
  75. or CTRL-L for getting the longest match.
  76.  
  77. Added automatic textmode (lines ending in CR-LF instead of LF) detection and
  78. 'textauto' option. This works when starting to edit a file and when doing a
  79. ":r" command. This is useful on MS-DOS systems with a network file system and
  80. when editing an MS-DOS floppy on Unix or Amiga. Added [(no)textmode] message
  81. to readfile() and writeit(). Now you can see when unexpected line separators
  82. have been detected or are being used.
  83.  
  84. Added "-b" command line option. This makes it more easy to edit binary files
  85. without unexpected effects.
  86.  
  87. Added ":make" command, 'errorformat' option and argument to -e option. Now you
  88. can do your compiling from within Vim and automatically jump to the line where
  89. the error is. Can be adjusted to work with many compilers. The command to be
  90. executed with ":make" can be set with the  'makeprg' option. '%' and '#' in
  91. the 'makeprg' option are expanded as usual in a command line. 
  92.  
  93. Added reverse insert mode, 'revins' option and CTRL-P command. Now you can
  94. type backwards!
  95.  
  96. Added abbreviations. They work in insert mode and in command line mode, just
  97. like Vi. Also added :iabbr, :cabbr and friends: abbreviations for command line
  98. only or insert mode only. Added dumping of abbreviations to :mkexrc.
  99.  
  100. Added ":center" (center the lines), ":left" (left adjustment) and ":right"
  101. (right adjustment). ":center" and ":right" use the 'textwith' option.
  102.  
  103. Added bios calls for MSDOS screen output, ansi.sys no longer required.
  104. Screen updating much faster now and works with more video modes. Added pcansi
  105. termcap for when not using the console.
  106.  
  107.  
  108. Other improvements
  109. ==================
  110.  
  111. If 'expandtab' is set, spaces will also be used in indents.
  112.  
  113. 'tabstop' maximum removed.
  114.  
  115. Digraphs also work in the command line.
  116.  
  117. Added :redo, same as CTRL-R.
  118.  
  119. Added '-x' option for the Amiga version. The current window will be used, but
  120. shell commands are not possible. Handy when starting Vim from a mail program.
  121.  
  122. Added 'secure' option. When reset you don't get the warnings from reading a
  123. .vimrc/.exrc file in the current directory.
  124.  
  125. Added 'exrc' option. Now you can switch the reading of ".exrc/.vimrc" off.
  126.  
  127. Added "vim:" modelines. Other vi versions allowed all ex commands in
  128. modelines, vim only allows set commands. Use "vim:" to avoid confusion.
  129.  
  130. Optimized position of ruler and shown command.
  131.  
  132. Improved redrawing of long command lines.
  133.  
  134. Added <SC_UP> and <SC_DOWN> to command line editing. This finds the
  135. next/previous command that starts with the text in front of the cursor.
  136.  
  137. Added CTRL-B and CTRL-E to command line editing. Go to begin/end of the
  138. command line.
  139.  
  140. With ":w!" readonly is reset.
  141.  
  142. If possible the cursor is switched off while visual selecting. Makes it more
  143. clear what is selected.
  144.  
  145. Format deletes blanks at end of lines. This makes it possible to use
  146. formatting to limit the text to a certain number of columns (e.g. 80).
  147.  
  148. Modelines quits after first error. This avoids a long list of errors when
  149. editing a text with "vi:" accidently embedded (e.g. vim.hlp).
  150.  
  151. Optimized undo for delete. Now only 2/3 of the memory used and less copying of
  152. lines. Speed up when deleting a lot of lines in a big file.
  153.  
  154. Added :suspend, same as CTRL-Z.
  155.  
  156. Added command-line-only mapping ":cmap", insert-mode-only ":imap" and the
  157. associated unmap and noremap commands. Now you can enter mappings for every
  158. mode (command/insert/command-line) separately.
  159.  
  160. Changed smart-indent a little.
  161.  
  162. Now one free chunk list per allocated block in storage.c. Makes editing big
  163. files a bit faster.
  164.  
  165. Added repeat to visual select. now you can select the same area again.
  166.  
  167. Improved showmatch() for uneven number of quotes.
  168.  
  169. Added 'paste' option. This makes it easy to swith between typing and inserting
  170. text with a cut/paste method. Doing ":set nopaste" before ":set paste" does
  171. not do anything. 
  172.  
  173. Added sFilename: Filename without path. Mostly only the name you typed is
  174. shown, but internally the full path name is remembered. Otherwise the ":cd"
  175. command would mess up the real file name. Use short file name as long as :cd
  176. not used. If one does not use :cd the short file name will be valid. This
  177. will avoid long path names to be printed on the status line and having to
  178. "hit return to continue". It is also better to avoid problems with some
  179. networks where the absolute path is not valid after a while. If :cd has been
  180. used the full path name needs to be used to get to the right file.
  181.  
  182. Changed :digraph in :digraphs. Now "digraph" and "digraphs" both work.
  183.  
  184. Added emsg2() for more informative error messages. For example: "Cannot open
  185. <filename> for writing" with :mkexrc.
  186.  
  187. Made 'r' command use get_literal(). Now you enter the decimal code for the
  188. replacement character with CTRL-V nnn, where nnn is any decimal number.
  189.  
  190. Added default digraphs for MSDOS.
  191.  
  192. Added 'timoutlen' option. One can set this depending on the speed of the
  193. terminal used. Helps when cursor keys start with ESC while working on the
  194. console: get out of insert mode fast. Or when using a terminal over a very
  195. slow line, although you better set 'notimeout' then.
  196.  
  197. Added wildcard expansion to tags, so environment variables in the file name
  198. get expanded.
  199.  
  200. No error message for a non-existant tags file, only for a not-found tag.
  201.  
  202. ExpandWildCards() in unix.c does not start the shell when there are no
  203. wildcards. Speeds up editing new files.
  204.  
  205. :set can now show several values in one command, e.g. ":set columns lines".
  206.  
  207. In MSDOS use $COMSPEC to init 'shell' option.
  208.  
  209. Added 'formatprg' option for external formatting. This is the program to use
  210. when the 'Q' command is given. If it is an empty string (which is the
  211. default) the internal formatting is used.
  212.  
  213. Made ioctl() first in mch_get_winsize() in unix.c. The environment variables
  214. are now only used if the ioctl() fails. This works without problems on more
  215. systems.
  216.  
  217. Added second column number to ruler. Now you can see both the column number
  218. in the file and on the screen.
  219.  
  220. With MSDOS also accept '/' as file name separator. Works better in combination
  221. with 4dos.
  222.  
  223. Screen redrawn after t_tp set. You can now directly see the result of the new
  224. colors.
  225.  
  226. Improved error handling from write() in writeit(). Made the write_buf
  227. function to repeat write() until all characters have been written or an error
  228. is detected. Fixes a possible problem with signals (which has never been
  229. reported).
  230.  
  231. Workaround for cursor key that sends ^H. The televideo 925 sends codes for
  232. cursor keys that cannot be distinguished from normal commands. At least the
  233. backspace is working again now.
  234.  
  235. If you are using a csh use 'glob' instead of 'echo' in WildExpand in unix.c.
  236. This makes it possible to find file names with embedded spaces. Spaces in the
  237. entered file name are still not possible (vi can't do it either).
  238.  
  239. Call_shell() in unix.c uses fork/exec instead of system. This makes it about
  240. twice as fast and fixes problems with special characters in the command, e.g.
  241. "!!awk '{ print "ok" }'.
  242.  
  243. Fixed call_shell in amiga.c for space in shell option. You can now give
  244. options to the shell command, but the name of the shell cannot contain
  245. spaces anymore (big deal).
  246.  
  247. Warn if no inversion is possible. Poor user, now you can't use visual select.
  248.  
  249. Use termcap entries 'se' and 'so' when 'mr' or 'me' are not available. Makes
  250. using inversion possible on more terminals.
  251.  
  252. Added 'esckeys' option. If your special keys have codes that start with an
  253. ESC you can switch them off in insert mode. When typing ESC you will
  254. directly exit insert mode, instead of having to wait for more characters to
  255. find out if it might be a special key.
  256.  
  257. Added register name "% for the current file name. Handy when you want to use
  258. the current file name in macros.
  259.  
  260. Added <"> as a name for the unnamed register. Added the use of more registers
  261. to some commands.
  262.  
  263. Added expansion of environment variable to most string parameters. Any non-id
  264. character can be used after the environment variable name.
  265.  
  266. Trailing '/' in 'dir' option not required.
  267.  
  268. Added [Not edited] message to ":file".
  269.  
  270. If errors occur when starting to edit a file (e.g. out of memory) the
  271. readonly flag is set to prevent accidently overwriting the original file with
  272. a truncated version.
  273.  
  274. Trailing spaces are removed from ":" commands (except map, abbreviate, ":s",
  275. ":g" and ":!" commands and after <|>). Useful when accidently typing a space
  276. after a filename.
  277.  
  278. Added TIOCLGET to mch_settmode() in unix.c. Restores some terminal settings
  279. after exiting Vim.
  280.  
  281. A "recursive mapping" followed by another "recursive mapping" would loop
  282. very long.
  283.  
  284. Allow entering CTRL-@ in command line mode.
  285.  
  286. Added 'A' - 'Z' for helpfile pages. You can add your own pages if you like.
  287.  
  288. Display several help pages at once on a big screen.
  289.  
  290. Don't give ".vim file exists" message when recovering.
  291.  
  292. Put command line terminated with ESC in history. If you accidently try to
  293. use ESC for wildcard completion, you can get back what you typed.
  294.  
  295. Changed display method for CTRL-D on command line. Now the redraw is done
  296. after the whole command line has been entered. Big speed win on slow
  297. terminals.
  298.  
  299. Don't call flushbuf() in normal() when p_sc is off (speeds up "x").
  300.  
  301. Don't redisplay in main() when there is something in the stuff buffer. Speeds
  302. up display a bit.
  303.  
  304. :tag shows short filename. Reduces the need for "hit return to continue".
  305.  
  306. Added "#<" for command line: current filename without extension.
  307.  
  308. Changed digraphs 208 and 240. Fixed digraph 172.
  309.  
  310. In help mode the keys CTRL-B and CTRL-F go one page back or forward. With
  311. MSDOS page-up and page-down can also be used.
  312.  
  313. Implemented the drive specifier for the :cd command on MSDOS, ":cd c:" goes
  314. to the C drive.
  315.  
  316. Implemented FullName for msdos. Makes ":cd" really work.
  317.  
  318. When the cursor is off the screen, put it at 1/2 of the screen. Used to be 1/3
  319. or 2/3, depending on the direction.
  320.  
  321.  
  322. Bug fixes
  323. =========
  324.  
  325. Fixed small screen updating bug in dodelete().
  326.  
  327. Inserting tab in Replace mode with 'et' option set did not delete char.
  328.  
  329. Fixed bug when start and end of operator are the same, e.g. "^d^".
  330.  
  331. Fixed 'w' on last word in file and 'b' on first word in the file.
  332.  
  333. Fixed 'dw' on empty line.
  334.  
  335. Fixed storage.c for 64 bit longs.
  336.  
  337. Fixed :w[!]>>newfile. Without the '!' the file must already exist.
  338.  
  339. In insert mode ^O had to be typed twice before the change command.
  340.  
  341. Fixed ":r !ls *". Wildcard expansion was done on "!ls".
  342.  
  343. Changed flag not reset with ":w !wc".
  344.  
  345. After CTRL-C go to normal mode. You could end up in insert mode when
  346. interrupting a macro (e.g. with the maze solving macros).
  347.  
  348. doarglist() called FreeWild() with argv[]. This could cause a crash!
  349.  
  350. Repaired FullName() in unix.c. Now "../" and links are correctly dealth with.
  351. Added error handling. If a file or directory does not exist this is dealth
  352. with correctly.
  353.  
  354. Fixed ":g/pat/p". There is now a wait for "hit return" at the end.
  355. Also fixed a double redraw.
  356.  
  357. Changed key codes for MSDOS. The old ones overlapped with a few useful
  358. accented characters. Now only some graphics characters cannot be entered
  359. directly from the keyboard.
  360.  
  361. Delete "recording" when p_smd is off.
  362.  
  363. Fixed ":/pat" on last line. It would give an "illegal nr" error.
  364.  
  365. Fixed "invalid chunk" bug in insertchar(). Too many blanks were deleted when
  366. doing text formatting when the cursor is just after several blanks.
  367.  
  368. Blockwise quoting did not work with upper case operators.
  369.  
  370. Removed forceit from getfile(); makes autowrite work with CTRL-^ after :n!.
  371.  
  372. No beep when search fails. When errorbells option was set you would get two
  373. beeps.
  374.  
  375. Isdir() in msdos.c now returns -1 when file does not exist. It would see a
  376. non-existant file as a directory.
  377.  
  378. Fixed [new file] message for MSDOS.
  379.  
  380. Fixed screen updating in edit.c when entering CTRL-V TAB in front of a TAB.
  381. The '^' would not be deleted.
  382.  
  383. Made t_ options working again. You couldn't set them at all!
  384.  
  385. Setting a terminal option to an empty string caused a hang.
  386.  
  387. Changed flag was set for an option when it was printed.
  388.  
  389. Fixed makeset() for spaces in string options. Now a backslash is prepended.
  390.  
  391. Fixed makemap() for special characters. Now a CTRL-V is prepended.
  392.  
  393. Fixed dosource() for a line containing CTRL-V newline. The following line is
  394. now appended.
  395.  
  396. Makeset() and makemap() add '\r' for MSDOS.
  397.  
  398. 'r' command no longer uses replace mode, except for CR, LF and TAB. Some
  399. replacement characters would give strange results, e.g. CTRL-O.
  400.  
  401. Fixed screen updating with ":s/a/A/gc". Now the screen is updated after each
  402. replacement, not after finishing a line.
  403.  
  404. Fixed MSDOS problem in lalloc(): Cannot handle block >64K.
  405.  
  406. Fixed bug in writeit(): Faulty write to memory when write() fails. This was a
  407. nasty one, caused my Amiga to crash when writing to a full disk!
  408.  
  409. Fixed problem with cursor keys in xterm. This stupid terminal emulator sends
  410. only one character at each read().
  411.  
  412. Fixed problem with linewise visual and 'o' command. The column would be
  413. changed, making the visual mode character wise.
  414.  
  415. Fixed bug in u_undoredo() when newsize and oldsize are both zero. You would
  416. get an error message when doing "!!foo", 'u', CTRL-R, 'u', when the command
  417. 'foo' does not exist.
  418.  
  419. Fixed bug: not doing all lines with ":%s/ /^M/g" in dosub(). The number of
  420. lines processed was not incremented by the number of new lines created.
  421.  
  422. Fixed crash caused by call to MatchEnd() while using ARP. This would mean
  423. that you could not use Vim with DOS 1.3. Only one person complained! Is
  424. nobody using 1.3 anymore?
  425.  
  426. In out-of-memory situations writeit() would fail. It needed to allocate a
  427. buffer of 4K. It would be impossible to save your changes! Now a small
  428. emergency buffer is used.
  429.  
  430. Fixed illegal memory access when not-set terminal option was printed.
  431.  
  432. Fixed hang with V~ on last line in file when the line was empty.
  433.  
  434. Fixed crash when typing "//".
  435.  
  436. Updated builtin termcap entry for xterm. Function keys now work.
  437.  
  438. Fixed bug with allocating argv in call_shell() for unix. Could cause a crash.
  439.  
  440. Fixed deletion of "no write since last change" message with :q command.
  441.  
  442. Added call to screenalloc() in screenclear(), fixes crash when resizing
  443. window while viewing help. 
  444.  
  445. Fixed screen updating with '$' in block mode.
  446.  
  447. Redisplay INSERT message after visual bell.
  448.  
  449. Fixed backspace in column 1 in reverse insert mode.
  450. Fixed "illegal nr" when doing i^P^H in an empty file.
  451.  
  452. Fixed ruler on empty line. Column number was wrong.
  453.  
  454. Typehead not flushed with every error, fixes problems with 'notimeout' and
  455. errors in scripts (recovery!).
  456.  
  457. No beep with "qxq".
  458.  
  459. Added setting of Changed flag to readfile(), needed for :r !cmd.
  460.  
  461. Jumplist entries were not deleted properly, causing "no alternate file" and
  462. "illegal nr" errors.
  463.  
  464. Fixed entering CTRL-V CTRL-@ in insert mode.
  465.  
  466. Default values for 'showcommand' and 'showmode' for unix exchanged.
  467.  
  468. Put braces around filter command for unix, allows ":r! echo this; echo that".
  469.  
  470. Fixed screen redraw after ".vim file exists" message with :e command.
  471.  
  472. Changed CTRL-W for insert mode: stop before spaces.
  473.  
  474. When changing more than 8000 lines at once undo is prohibited on Amiga and
  475. MSDOS (used to cause out of memory errors with "10000dd").
  476.  
  477. Fixed problem with undo after delete without undo. (?)
  478.  
  479. Fixed error messages with ":set".
  480.  
  481. Terminal type not reset to default with ":set term=xxx", where xxx is not a
  482. valid terminal type.
  483.  
  484. Fixed problem in search pattern: With 'ignorecase' set the first character
  485. after '*' was case-sensitive.
  486.  
  487. Update screen with ":g/the/s//THE/c".
  488.  
  489. With "hit return" use command-mode mappings.
  490.  
  491. Fixed "(" and ")" for sentence ending at end of line.
  492.  
  493. Fixed screen updating with very long lines. Cursor could end up in the middle
  494. of nowhere.
  495.  
  496. Fixed message for yank with blockwise visual (was one line off).
  497.  
  498. Fixed :copy when destination is within source range.
  499.  
  500. "r" in visual mode wanted to get another character.
  501.  
  502. With 'nowrapscan' "Q}" scrolled the screen horizontally.
  503.  
  504. Don't allocate screen if Rows or Columns is 0.
  505.  
  506. Fixed CTRL-D in insert mode: First round indent to multiple of shiftwidth.
  507.  
  508. "z<number><CR>" is limited to physical screen height. Fixes screen updating
  509. problems when set to large number. Also fixed screen updating for CTRL-D on
  510. command line and for ":set all".
  511.  
  512. Re-inserted forceit in getfile to make ":ta!" work. Now forceit is reset at
  513. the end of DoOneCmd() to keep CTRL-^ working.
  514.  
  515. Check for :unmap without valid number of arguments in domap(). Ctrl-V was
  516. removed twice from :unmap.
  517.  
  518. Added noremaplist in buffers.c; makes mixing @a and noremap mappings work.
  519.  
  520. Do not check for terminal-code in mapped characters.
  521.  
  522. Recording now stores the trailing 'q' in the register; the 'q' command is
  523. disabled while executing a register (solves problem when final 'q' is result
  524. from mapping).
  525.  
  526. Fixed '\~' in substitute string being recognized as '~'.
  527.  
  528. Fixed ":s/ */ /g", inserted one space per line instead of one space per
  529. character.
  530.  
  531. Fixed ungetchr() in regexp.c: backslashed characters were not handled
  532. correctly.
  533.  
  534. Fixed screen being messed up with long commands when 'sc' is set.
  535.  
  536.  
  537. Vi-compatibility fixes
  538. ======================
  539.  
  540. When not editing last file in a file list, typing :q twice will quit.
  541.  
  542. Added [readonly] to fileinfo(). 
  543.  
  544. Undo in macros allowed. But it only works correctly once.
  545.  
  546. Added hidden options to avoid error messages when reading .exrc.
  547.  
  548. Allow '-ttag' (no space after -t) on command line.
  549.  
  550. Changed short name for 'showmode' option from "mo" to "smd".
  551.  
  552. Added check for "view" in main(). Vim will start in readonly mode. On Unix you
  553. can make a link from "view" to "vim".
  554.  
  555. Undo keeps marks if line count does not change.
  556.  
  557. Fixed operators to be linewise in some cases.
  558.  
  559. CTRL-Z is :stop instead of :stop!.
  560.  
  561. '}' command does not stop at '{' at start of line.
  562.  
  563. With :s lines are split at CR, unless preceded with a CTRL-V. In fact this is
  564. better than Vi, because vi can't insert a CR in the text with :s.
  565.  
  566. Textwidth now off when 0, also when wrapmargin set to 0.
  567.  
  568. Fixed autoindent when inserting <CR> in front of some blanks.
  569.  
  570. Removed 'repdel' option: BS in replace mode puts replaced character back
  571. (within one line).
  572.  
  573. Option 'sect' short for 'sections'.
  574.  
  575. Adjusted 'M' when '~' lines on screen. Now put cursor in the middle of the
  576. lines that are present on the screen, not on the middle of the screen.
  577.  
  578. Multiple spaces to separate fields in tags file allowed.
  579.  
  580. DEL displayed as ^? instead of ~?.
  581.  
  582. Added 'mesg', 'edcompatible', 'modeline', 'sourceany' and 'ttytype' options.
  583. Only 'edcompatible' is really implemented.
  584.  
  585. Added test for trying to edit/read/write a direcory. Now you get an error
  586. message instead of [new file] (on Amiga/MSDOS) or garbage (Unix).
  587.  
  588. '%' now works on \(this\).
  589.  
  590. In UNIX and MSDOS ignore spaces after filename. In Amiga the spaces may be
  591. part of the filename, on other systems this is very unlikely.
  592.  
  593. Moved code from inchar() to vgetorpeek(): Key sequences can now be mapped
  594. before recogized as key codes. But they are still stored with a special code
  595. in the script files, which makes them terminal-independent.
  596.  
  597. Added recognition of vi-compatible modeline with set command.
  598.  
  599. Implemented 'warn' option.
  600.  
  601. Added CTRL-W to command line editing.
  602.  
  603. Implemented 0^D and ^^D in insert mode.
  604.  
  605. Non-linewise deletes within one line do not go into numbered registers.
  606.  
  607. Set previous context mark with 'L', 'M' and 'H' commands.
  608.  
  609. Make "cc" work like "S": indent not deleted when 'autoindent' set.
  610. CTRL-U in insert mode does not delete indent when 'autoindent' set.
  611.  
  612. With the "J" command the cursor is put just after the first line instead of
  613. at the start of the second.
  614.  
  615. Concatenated mapstr and typestr in buffers.c; makes ":map x y" ":map yz foo"
  616. work (mixing mapped and typed characters in another mapping).
  617.  
  618. CTRL-C quits command line and insert mode.
  619.  
  620. ESC in macro executes command line (but typed ESC still quits command line).
  621.  
  622. Deleted "#include <ctype.h>" from regexp.c.
  623.  
  624. Call_shell does not always use cooked mode, fixes problem with typing CR
  625. while doing filename completion in unix.
  626.  
  627. Fixed return value for FullName in unix.c.
  628.  
  629. Removed redraw on exit for msdos.
  630.  
  631. ":v" without argument was not handled correctly in doglob().
  632.  
  633. CR-LF in tags file was not handled correctly.
  634.  
  635.  
  636. Porting
  637. =======
  638.  
  639. Added _UNIX to BSD and SYSV because 'BSD' already used by Alpha.
  640.  
  641. Added three changes for Apollo DOMAIN.
  642.  
  643. Added a few things for Amdahl UTS.
  644.  
  645. Use fork() in unix.c, not all systems have vfork().
  646.  
  647. Added POSIX compatible file type checking.
  648.  
  649. Added small changes for USL 4.2.
  650.  
  651. Added additional set of termcap entries for terminfo.
  652.  
  653. Added memmove() function for SYSV. Not all versions of memcpy() can handle
  654. overlapped areas.
  655.  
  656. Small fixes for a few unix versions: AIX (on rs6000) and NeXT.
  657.  
  658. Changed SETWINSIZE to SETWSIZE and a few other changes for Convex.
  659.  
  660. Added a few changes for Borland C++. Phew, it compiles really fast!
  661.  
  662. Many other small changes for different Unix versions.
  663.